package com.zxy.express.service;

import com.autopai.base.common.mybatis.service.BaseService;
import com.autopai.base.common.web.model.RestResult;
import com.autopai.base.common.web.page.PageData;
import com.zxy.express.dto.UploadFileDTO;
import com.zxy.express.dto.UserDTO;
import com.zxy.express.dto.WxUserRegisterRequest;
import com.zxy.express.entity.UserEntity;

import java.util.List;
import java.util.Map;

/**
 * 用户信息表
 *
 * @author zhangxiying ${email}
 * @since ${version} 2025-07-01
 */
public interface UserService extends BaseService<UserEntity> {

    PageData<UserDTO> page(Map<String, Object> params);

    List<UserDTO> list(Map<String, Object> params);

    UserDTO get(String id);

    void save(UserDTO dto);

    void update(UserDTO dto);

    void delete(String[] ids);

    RestResult login(WxUserRegisterRequest request) throws Exception;

    RestResult register(WxUserRegisterRequest request) throws Exception;

    RestResult uploadAvatar(UploadFileDTO fileDTO) throws Exception;
}